﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sinacor.UI.Bovespa.ResumoFinanceiro.Communication.Bovespa.Movimento.ControleMovimentoOrdens;

namespace Sinacor.UI.Bovespa.ResumoFinanceiro.Communication.Translator.DataContractToModel
{
    public class ControleMovimentoOrdens
    {
        public ControleMovimentoOrdens() { }

        /// <summary>
        /// ToInformacoesMovimento
        /// </summary>
        /// <param name="from"></param>
        /// <returns></returns>
        public Model.InformacoesMovimento ToInformacoesMovimento(InformacoesMovimentoResponse from)
        {
            Model.InformacoesMovimento retorno = new Sinacor.UI.Bovespa.ResumoFinanceiro.Model.InformacoesMovimento();

            if (from == null)
                return null;

            retorno.DataMovimento = from.DataMovimento;
            retorno.DataVersao = from.DataVersao;

            switch (from.EstadoMovimento)
            {
                case TipoMovimento.Abertura:
                    retorno.EstadoMovimento = Sinacor.UI.Bovespa.ResumoFinanceiro.Model.Enum.TipoMovimento.Abertura;
                    break;
                case TipoMovimento.Fechamento:
                    retorno.EstadoMovimento = Sinacor.UI.Bovespa.ResumoFinanceiro.Model.Enum.TipoMovimento.Fechamento;
                    break;
                case TipoMovimento.Reabertura:
                    retorno.EstadoMovimento = Sinacor.UI.Bovespa.ResumoFinanceiro.Model.Enum.TipoMovimento.Reabertura;
                    break;
                case TipoMovimento.ProcessoFechamento:
                    retorno.EstadoMovimento = Sinacor.UI.Bovespa.ResumoFinanceiro.Model.Enum.TipoMovimento.ProcessoFechamento;
                    break;
            }

            return retorno;
        }

    }
}
